package model;

/**
 * Een enkele stap binnen een pad
 *
 * @author Alvin & Roy
 */
public class Step {
        /** Het x coordinaat van de stap */
        private int x;
        /** Het y coordinaat van de stap */
        private int y;

        /**
         * Constructor
         *
         * @param x Het x coordinaat
         * @param y Het y coordinaat
         */
        public Step(int x, int y) {
                this.x = x;
                this.y = y;
        }

        /**
         * Haal het x coordinaat op
         *
         * @return Het x coordinaat
         */
        public int getX() {
                return x;
        }

        /**
         * Haal het y coordinaat op
         *
         * @return Het y coordinaat
         */
        public int getY() {
                return y;
        }

        /**
         * @see Object#hashCode()
         */
        public int hashCode() {
                return x*y;
        }

        /**
         * @see Object#equals(Object)
         */
        public boolean equals(Object other) {
                if (other instanceof Step) {
                        Step o = (Step) other;

                        return (o.x == x) && (o.y == y);
                }

                return false;
        }
}

